Pursuant to an exemplary scenario, video data captured by media capture devices, such as, for example, a camera or a camcorder, may be processed (for example, compressed) in order to save memory during storage or to efficiently utilize the available bandwidth during a transmission. The video data may be encoded utilizing encoding mechanisms that are sufficient to achieve compression of the video data. The video data may subsequently be decompressed (for example, decoded) for display/viewing purposes.
Pursuant to an exemplary scenario, video processing mechanisms may include a video controller (for example, a host processor), which may utilize software code corresponding to the various video compression standards, such as motion picture experts group (MPEG)-4, H.264, and the like, for processing of the video data. In some exemplary scenarios, dedicated hardware corresponding to common video formats, such as MPEG-1/2/4, H.264, etc. are utilized for processing of the video data, thereby precluding the processing of the video data by the video controller. However, such a provision of dedicated hardware may entail higher chip-area consumption, which may be prohibitive.
In some exemplary scenarios, a video engine designed to support encoder & decoder functionality for various video compression standards may be provided to perform a processing of the video data. Based on nature of a user-application, software code corresponding to an appropriate video compression standard may be loaded in the video engine by the video controller to facilitate the processing of the video data. For low-latency applications, such as video conferencing, or, for applications, such as video surveillance where video data is received from multiple end points, the decision for loading the appropriate software code is to be made at each video frame from among a plurality of video frames, thereby causing a sizable utilization of the video controller to take place.